Tehát gondjaim vannak a list :: sort () helyes használatának kiderítésével kapcsolatban a struktúrák listájával kapcsolatban. Itt van a vonatkozó kód: strukturált hallgató { char firstnm [20], lastnm [20]; int id, fokozat; }; listasList; // Irreleváns kód ... cout << "Kérjük, adja meg saját nevét, azonosítóját és osztályzatát. (Például: első mylast 0 12) \ n"; cin >> data.firstnm >> data.lastnm >> data.id >> data.grade; sList.push_back (adatok); sList.sort (); A probléma, amelyet megpróbálok megoldani, az sList.sort () használata az id szerinti rendezéshez. Azonban fogalmam sincs, hogyan kell helyesen átadni a list :: sort () fájlba. Előre is köszönöm a segítséget / időt! EDIT: A megoldás egyszerűen ezt adta hozzá a struktúrámhoz bool operátor <(const hallgató és cmp) const { visszatérési azonosító
2021-01-22 08:20:34
Meg kell nézni az std :: sort. (https://en.cppreference.com/w/cpp/algorithm/sort) Ennek a függvénynek több meghatározása van, és egy, ahol megadhatja, hogy mit szeretne rendezni. Vessen egy pillantást arra a bejegyzésre, szerintem erre van szüksége: https://stackoverflow.com/a/21234017/6663947 Szerkesztés: ez például egy összehasonlító: sList.sort ([] (konst hallgató & a, konst hallgató & b) {return a.idvoid sort (Összehasonlítja a komp); Feltéve, hogy növekvő sorrendben szeretné rendezni a listában szereplő diákobjektumokat a kulcsazonosító szerint. Vagy meghatározhatja a